module render.abstractsampler;

import utils.vector2;
import utils.color;

alias RGBColor delegate(Vector2f pos) RenderFunction;

public class AbstractSampler {
    protected RenderFunction mRenderFunc;

    public RenderFunction renderFunc() {
        return mRenderFunc;
    }
    public void renderFunc(RenderFunction rend) {
        mRenderFunc = rend;
    }


    public abstract void initSampler();

    public abstract void sample(inout Vector2f pos, out RGBColor col);
}
